f7edbbab3b80092a177844b0f102e5ef7ea30393,core/src/main/java/hudson/tasks/LogRotator.java,LogRotator,perform,#Job#,100

Before Change


        }

        if(artifactNumToKeep!=-1) {
            Run[] builds = job.getBuilds().toArray(new Run[0]);
            for( int i=artifactNumToKeep; i<builds.length; i++ ) {
                Run r = builds[i];
                if (r.isKeepLog()) {

After Change


            Calendar cal = new GregorianCalendar();
            cal.add(Calendar.DAY_OF_YEAR,-daysToKeep);
            // copy it to the array because we'll be deleting builds as we go.
            for( Run r : job.getBuilds() ) {
                if (r.isKeepLog()) {
                    LOGGER.log(FINER,r.getFullDisplayName()+" is not GC-ed because it's marked as a keeper");
                    continue;